1. Field of the Invention
The present invention relates generally to file transfer and, more particularly, to a method of locating and downloading a file on a network.
2. Description of the Related Art
Most Java applications, or applets, reside on a network in centralized servers. When a client system wants to use an applet, it first has to contact the server within which the applet is located and request that the applet be delivered. Once received, the applet can be run by the client system. For example, suppose a user at a client system wants to check his/her financial portfolio, the user needs to first contact his financial institution's server system using a web browser to request the portfolio data. The data will then be downloaded to the user accompanied with an applet. The applet is used to view the portfolio data. When the user has finished viewing the data and stopped running the browser, the downloaded applet along with the financial data will be deleted from the client's system memory.
Aside from applets, Java includes a portable, platform independent software component model called "JavaBean". A "JavaBean" or bean is the most extensively used API (application program interface) in Java programming. It provides application developers with a framework for reusable, embeddable, modular software components. For example, a first bean may have been designed and used by IBM to develop a particular software product and a second bean may have been designed and used by Sun Microsystems to develop an entirely different software product. Using some logic, a third developer may link or wire these two beans together to produce a composite bean. This composite bean may function totally different from either parent bean.
The code implementing the first and the second bean may reside on a server at IBM and Sun, respectively. Before running the composite bean on a local computer system, then, the third developer has to merely download the two pieces of code to that system.
Allowing software code to reside at a location where they can be easily accessed may be beneficial to both software vendors and customers. For example, suppose a vendor has a collection of programs long enough to fill several diskettes or compact disks (CDs). Every time a customer buys a license to that software, the vendor has to provide these diskettes or CDs to that customer. In addition, each time the software is upgraded, that version has to be distributed to the licensed customers. If, however, the programs reside at centralized locations, the vendor need only provide the customers with, for instance, a menu of what is available and a quick way of accessing the programs. In this case, then, the vendor will save money by not manufacturing and distributing CDs. Some of this saving may be passed on to the customers in the form of reduced fees. In addition, the customer is guaranteed to always use the latest version of the software, especially, when these software components are being maintained by different entities, as in the example above.
Consequently, there is a need in the art to allow programs to reside in a centralized location to which customers have access. However, there must be a method to quickly locate and download these programs.